/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Controlador;

import accesodatos.DaoDimensiones;
import accesodatos.DaoReporte;
import java.util.ArrayList;

/**
 *
 * @author User
 */
public class ManejadorConsultas {
    boolean demografia, ips, fecha,diagnostico, region, ciudad, chGen, chEst, chNiv;
    String genero, estadoCivil, nivelEscolaridad, fechaInicial,fechaFinal;
    int estrato, edadInicial,edadFinal;
    DaoReporte dao = new DaoReporte();
    DaoDimensiones daoDimensiones = new DaoDimensiones();
    
    public String ConstruirConsultaCentrosHospitalarios(boolean fecha, boolean demografia,boolean porCiudad, boolean porDepartamento,boolean porMes,String ciudad, String departamento, String atencionPor,
            String genero,String estadoCivil, String nivelEscolaridad,int estrato, int añoInicial, int mes){
        String consulta="";
        String select=" SELECT di.nombre, count(ate.id_ips) cantidad ";
        String from = " FROM " + atencionPor +" ate NATURAL JOIN dimension_ips di NATURAL JOIN ciudad c NATURAL JOIN departamento dep";
        String where=" WHERE ";
        String group= " GROUP BY ";
        String order= " ORDER BY cantidad DESC ";
        
        if(porCiudad && !ciudad.equals("") && departamento.equals("")){
            //select+= " ,c.ciudad";
            System.out.println("Entro a CIUDAD");
            if(!where.equals(" WHERE ")){
                where+="  AND c.ciudad='"+ciudad+"'";
            }else
                where+="  c.ciudad='"+ciudad+"'";
//            if(group.equals(" GROUP BY ")){
//                group+= " c.ciudad ";
//            }else
//                group+= " ,c.ciudad ";
        }else if(porDepartamento){
           // select+= " ,dep.departamento"; 
            System.out.println("Entro a DEPARTAMENTO");
            if(where.equals(" WHERE ")){
                where+="  dep.departamento='"+departamento+"'";
            }else
                where+=" AND dep.departamento='"+departamento+"'";
            
//            if(group.equals(" GROUP BY "))
//                group+= " dep.departamento ";
//            else
//                group+= " ,dep.departamento ";
        }
        
        
        if(demografia){
            from+=" JOIN dimension_demografica D";
            if(where.equals(" WHERE ")){
                 where+=" D.id_demografia=ate.id_demografia";
            }else{
                where+=" AND D.id_demografia=ate.id_demografia";
            }
            
            if(!estadoCivil.equals("")){
             //   select+= ", D.estado_civil";
//                if(group.equals(" GROUP BY ")){
//                    group+= " D.estado_civil";
//                }else{
//                    group+=" , D.estado_civil";
//                }
                
                if(where.equals(" WHERE ")){
                    where+= " D.estado_civil= '"+estadoCivil+"'";
                }else{
                    where+=" AND  D.estado_civil= '"+estadoCivil+"'";
                }
                                 
            }
            if(!genero.equals("")){
             //   select+= ", D.sexo";
//                if(group.equals(" GROUP BY ")){
//                    group+= " D.sexo";
//                }else{
//                    group+=" , D.sexo";
//                }
                
                if(where.equals(" WHERE ")){
                    where+= " D.sexo= '"+genero+"'";
                }else{
                    where += " AND D.sexo= '"+genero+"'";
                }
                    
            }
            if(!nivelEscolaridad.equals("")){
               // select+=", D.nivel_escolaridad";
//                if(group.equals(" GROUP BY ")){
//                    group+= " D.nivel_escolaridad";
//                }else{
//                    group+=" , D.nivel_escolaridad";
//                }
                
                if(where.equals(" WHERE ")){
                    where+= " D.nivel_escolaridad= '"+nivelEscolaridad+"'";
                }else{
                    where+= " AND D.nivel_escolaridad= '"+nivelEscolaridad+"'";
                }                    
                
            }
            if(estrato!=0){
              //  select+=", D.estrato";
//                 if(group.equals(" GROUP BY ")){
//                    group+= " D.estrato";
//                }else{
//                    group+=" , D.estrato";
//                }
                
                if(where.equals(" WHERE ")){
                    where+= " D.estrato= '"+estrato+"'";
                }else{
                    where+= " AND D.estrato= '"+estrato+"'";
                }  
            }
        }
        if(fecha){
            from+= " JOIN fecha F";
             if(where.equals(" WHERE ")){
                 where+=" ate.id_fecha_atencion=F.k_fecha";
            }else{
                where+=" AND ate.id_fecha_atencion=F.k_fecha";
            }
             
            if(añoInicial!=0 && !porMes && mes==0){
                select+=" ,F.anio"  ;
                if(!where.equals(" WHERE ")){
                    where+= " AND F.anio='"+añoInicial+"'";
                }else
                    where+= "F.anio>='"+añoInicial+"'";
//                if(group.equals(" GROUP BY ")){
//                    group+= " F.anio";
//                }else{
//                    group+= " ,F.anio";
//                }
                    
            }else if(mes!=0 && añoInicial!=0 && porMes){
                 if(!where.equals(" WHERE ")){
                    where+= " AND F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";
                }else
                    where+= " F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";
//                if(group.equals(" GROUP BY ")){
//                    group+= " ate.id_ips";
//                }else{
//                    group+= " ,ate.id_ips";
//                }
            }
           
        }
        if(group.equals(" GROUP BY "))
            group+=" ate.id_ips";
        else
            group+= " ,ate.id_ips";
        
        order+=" LIMIT 1,10";
        consulta +=select+from+where+group+order;
        System.out.println(consulta);
        return consulta;
        
    }
    
    public String ConstruirConsultaFormulacion(String genero,String estadoCivil, 
            String nivelEscolaridad, boolean demografia, int estrato,boolean fecha,int añoInicial, int añoFinal, int mes, boolean porMes, int porQue){
        String consulta="";
        String select="";

        String from=" FROM formulacion_medicina fm JOIN dimension_medicamento dm ";
        String where = " WHERE fm.id_medicamento=dm.id_medicamento ";
        String group= " GROUP BY ";
        String orderAsc= " ORDER BY cantidad ASC ";
        String orderDes=" ORDER BY cantidad DESC ";
        if(porQue==1){
                select=" SELECT  AVG(fm.costo) cantidad ";
                if(demografia){
                from+=" JOIN dimension_demografica D";
                if(where.equals(" WHERE ")){
                     where+=" D.id_demografia=fm.id_demografia";
                }else{
                    where+=" AND D.id_demografia=fm.id_demografia";
                }
                if(!estadoCivil.equals("")){
                    select+= ", D.estado_civil";
                    if(group.equals(" GROUP BY ")){
                        group+= " D.estado_civil";
                    }else{
                        group+=" , D.estado_civil";
                    }

                    if(where.equals(" WHERE ")){
                        where+= " D.estado_civil= '"+estadoCivil+"'";
                    }else{
                        where+=" AND  D.estado_civil= '"+estadoCivil+"'";
                    }

                }
                if(!genero.equals("")){
                    select+= ", D.sexo";
                    if(group.equals(" GROUP BY ")){
                        group+= " D.sexo";
                    }else{
                        group+=" , D.sexo";
                    }

                    if(where.equals(" WHERE ")){
                        where+= " D.sexo= '"+genero+"'";
                    }else{
                        where += " AND D.sexo= '"+genero+"'";
                    }

                }
                if(!nivelEscolaridad.equals("")){
                    select+=", D.nivel_escolaridad";
                    if(group.equals(" GROUP BY ")){
                        group+= " D.nivel_escolaridad";
                    }else{
                        group+=" , D.nivel_escolaridad";
                    }

                    if(where.equals(" WHERE ")){
                        where+= " D.nivel_escolaridad= '"+nivelEscolaridad+"'";
                    }else{
                        where+= " AND D.nivel_escolaridad= '"+nivelEscolaridad+"'";
                    }                    

                }
                if(estrato!=0){
                    select+=", D.estrato";
                     if(group.equals(" GROUP BY ")){
                        group+= " D.estrato";
                    }else{
                        group+=" , D.estrato";
                    }

                    if(where.equals(" WHERE ")){
                        where+= " D.estrato= '"+estrato+"'";
                    }else{
                        where+= " AND D.estrato= '"+estrato+"'";
                    }  
                }
            }
            if(fecha){
                from+= " JOIN fecha F";
                 if(where.equals(" WHERE ")){
                     where+=" fm.id_fecha=F.k_fecha";
                }else{
                    where+=" AND fm.id_fecha=F.k_fecha";
                }

                if(añoInicial!=0 && añoFinal !=0){
                    select+=" ,F.anio"  ;
                    if(!where.equals(" WHERE ")){
                        where+= " AND F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                    }else
                        where+= "F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                    if(group.equals(" GROUP BY ")){
                        group+= " F.anio";
                    }else{
                        group+= " ,F.anio";
                    }

                }else if(añoInicial!=0 && añoFinal==0 && !porMes){//MEDICINAS MÁS VENDIDAS POR AÑO
                    if(!where.equals(" WHERE ")){
                        where+= " AND F.anio='"+añoInicial+"'";
                    }else
                        where+= "F.anio='"+añoInicial+"'";
                    if(group.equals(" GROUP BY ")){
                        group+= " fm.pos_formula";
                    }else{
                        group+= " ,fm.pos_formula";
                    }
                }else if(mes!=0 && añoInicial!=0 && porMes){
                     if(!where.equals(" WHERE ")){
                        where+= " AND F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";
                    }else
                        where+= " F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";
                    if(group.equals(" GROUP BY ")){
                        group+= " fm.pos_formula";
                    }else{
                        group+= " ,fm.pos_formula";
                    }
                }

            }
        }else if(porQue==2){
                select=" SELECT dm.codigo,dm.nombre_generico, count(fm.id_medicamento) cantidad ";

                if(demografia){
                from+=" JOIN dimension_demografica D";
                if(where.equals(" WHERE ")){
                     where+=" D.id_demografia=fm.id_demografia";
                }else{
                    where+=" AND D.id_demografia=fm.id_demografia";
                }
                if(!estadoCivil.equals("")){
                    select+= ", D.estado_civil";
                    if(group.equals(" GROUP BY ")){
                        group+= " D.estado_civil";
                    }else{
                        group+=" , D.estado_civil";
                    }

                    if(where.equals(" WHERE ")){
                        where+= " D.estado_civil= '"+estadoCivil+"'";
                    }else{
                        where+=" AND  D.estado_civil= '"+estadoCivil+"'";
                    }

                }
                if(!genero.equals("")){
                    select+= ", D.sexo";
                    if(group.equals(" GROUP BY ")){
                        group+= " D.sexo";
                    }else{
                        group+=" , D.sexo";
                    }

                    if(where.equals(" WHERE ")){
                        where+= " D.sexo= '"+genero+"'";
                    }else{
                        where += " AND D.sexo= '"+genero+"'";
                    }

                }
                if(!nivelEscolaridad.equals("")){
                    select+=", D.nivel_escolaridad";
                    if(group.equals(" GROUP BY ")){
                        group+= " D.nivel_escolaridad";
                    }else{
                        group+=" , D.nivel_escolaridad";
                    }

                    if(where.equals(" WHERE ")){
                        where+= " D.nivel_escolaridad= '"+nivelEscolaridad+"'";
                    }else{
                        where+= " AND D.nivel_escolaridad= '"+nivelEscolaridad+"'";
                    }                    

                }
                if(estrato!=0){
                    select+=", D.estrato";
                     if(group.equals(" GROUP BY ")){
                        group+= " D.estrato";
                    }else{
                        group+=" , D.estrato";
                    }

                    if(where.equals(" WHERE ")){
                        where+= " D.estrato= '"+estrato+"'";
                    }else{
                        where+= " AND D.estrato= '"+estrato+"'";
                    }  
                }
            }
            if(fecha){
                from+= " JOIN fecha F";
                 if(where.equals(" WHERE ")){
                     where+=" fm.id_fecha=F.k_fecha";
                }else{
                    where+=" AND fm.id_fecha=F.k_fecha";
                }

                if(añoInicial!=0 && añoFinal !=0){
                    select+=" ,F.anio"  ;
                    if(!where.equals(" WHERE ")){
                        where+= " AND F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                    }else
                        where+= "F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                    if(group.equals(" GROUP BY ")){
                        group+= " F.anio";
                    }else{
                        group+= " ,F.anio";
                    }

                }else if(añoInicial!=0 && añoFinal==0 && !porMes){//MEDICINAS MÁS VENDIDAS POR AÑO
                    if(!where.equals(" WHERE ")){
                        where+= " AND F.anio='"+añoInicial+"'";
                    }else
                        where+= "F.anio='"+añoInicial+"'";
                    if(group.equals(" GROUP BY ")){
                        group+= " fm.id_medicamento";
                    }else{
                        group+= " ,fm.id_medicamento";
                    }
                }else if(mes!=0 && añoInicial!=0 && porMes){
                     if(!where.equals(" WHERE ")){
                        where+= " AND F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";
                    }else
                        where+= " F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";
                    if(group.equals(" GROUP BY ")){
                        group+= " fm.id_medicamento";
                    }else{
                        group+= " ,fm.id_medicamento";
                    }
                }

            }
        }
        
        if(group.equals(" GROUP BY "))
            group=" ";
        orderDes+=" LIMIT 1,10";
       consulta+=select + from + where + group +orderDes +";";
       System.out.println(consulta);
       return consulta;
        
    }
    
    public void graficar(String consulta, String tipoGrafica){
        if(tipoGrafica.equals("Barras")){
            dao.pintarReporteBarras(consulta);
        }else if(tipoGrafica.equals("Pastel")){
            dao.pintarReportePastel(consulta);
        }
    }
    
    public String ConstruirConsultaRetiros(String genero, String estadoCivil, String nivelEscolaridad,int estrato, boolean demografia,boolean fecha, int añoInicial,int añoFinal, String retiro){
        String consulta="";
        String select = " SELECT count(*) cantidad ";
        String from= " FROM retiros r ";
        String where= " WHERE ";
        String group= " GROUP BY ";
        
        if(demografia){
            from+=" JOIN dimension_demografica D";
            if(where.equals(" WHERE ")){
                where+= " r.id_demografia=D.id_demografia";
            }else{
                 where+= " AND r.id_demografi=D.id_demografia";
            }
            if(!genero.equals("")){
                if(where.equals(" WHERE ")){
                    where+= " D.sexo= '"+genero+"'";
                }else{
                     where+= " AND D.sexo= '"+genero+"'";
                }
            }
            if(estrato!=0){
                if(where.equals(" WHERE ")){
                    where+= " D.estrato= '"+estrato+"'";
                }else{
                     where+= " AND D.estrato= '"+estrato+"'";
                }
            }
            if(!nivelEscolaridad.equals("")){
                if(where.equals(" WHERE ")){
                    where+= " D.nivel_escolaridad= '"+nivelEscolaridad+"'";
                }else{
                     where+= " AND D.nivel_escolaridad= '"+nivelEscolaridad+"'";
                }
            }
            if(!estadoCivil.equals("")){
                if(where.equals(" WHERE ")){
                    where+= " D.estado_civl= '"+estadoCivil+"'";
                }else{
                     where+= " AND D.estado_civil= '"+estadoCivil+"'";
                }
            }
            
        }
        if(fecha){
            from+=" JOIN fecha F";
            if(where.equals(" WHERE ")){
                where+= " F.k_fecha=r.id_fecha_retiro";
            }else{
                 where+= " AND F.k_fecha=r.id_fecha_retiro";
            }
            
            if(añoInicial!=0 && añoFinal!=0){
                select+=" ,F.anio"  ;
                if(!where.equals(" WHERE ")){
                    where+= " AND F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                }else
                    where+= "F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                if(group.equals(" GROUP BY ")){
                    group+= " F.anio";
                }else{
                    group+= " ,F.anio";
                }
            }
            if(añoInicial!=0 && añoFinal==0){
                select+= " ,F.nombre_mes";
                if(!where.equals(" WHERE ")){
                    where+= " AND F.anio='"+añoInicial+"'";
                }else{
                    where+= " F.anio='"+añoInicial+"'";
                }
                if(group.equals(" GROUP BY ")){
                    group+= " F.mes";
                }else{
                    group+= " ,F.mes";
                }
            }
            
        }
        if(retiro.equals("CAMBIO DE EPS")){
            if(where.equals(" WHERE ")){
                where+= " r.motivo_retiro='CAMBIO DE EPS'";
            }else{
                where+= " AND r.motivo_retiro='CAMBIO DE EPS'";
            }
        }else if(retiro.equals("PAGO NO OPORTUNO")){
            if(where.equals(" WHERE ")){
                where+= " r.motivo_retiro='PAGO NO OPORTUNO'";
            }else{
                where+= " AND r.motivo_retiro='PAGO NO OPORTUNO'";
            }
        }
        if(group.equals(" GROUP BY "))
            group=" ";
        consulta+=select+from+where+group + ";";
        System.out.println(consulta);
        return consulta;
    }
    
    public String ConstruirConsultaPagosGeneral(boolean fecha,boolean epoca, int añoInicial, int añoFinal,
            String festivo, boolean dia, int mes){
        String consulta="";
        String select=" SELECT AVG(valor_pagado) cantidad ";
        String from=" FROM pagos p";
        String where=" WHERE ";
        String group=" GROUP BY ";
        String orderAsc= " ORDER BY cantidad ASC ";
        String orderDes=" ORDER BY cantidad DESC ";
        
        if(fecha){
            from+=" JOIN fecha F ";
            if(where.equals(" WHERE ")){
                where+=" p.id_fecha=F.k_fecha "; 
            }else
                where+=" AND p.id_fecha=F.k_fecha ";
            
            if(añoInicial!=0 && añoFinal!=0){
                select+=" ,F.anio";
                          
                if(!where.equals(" WHERE ")){
                    where+= " AND F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                }else
                    where+= "F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                if(group.equals(" GROUP BY ")){
                    group+= " F.anio";
                }else{
                    group+= " ,F.anio";
                }
            }
            if(añoInicial!=0 && añoFinal==0){
                if(dia && mes!=0){ //Días en un mes especifico de un año
                    select+=" ,F.nombre_dia, F.nombre_mes";
                    if(!where.equals(" WHERE ")){
                        where+=" AND F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";
                    }else
                         where+=" F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";

                    if(group.equals(" GROUP BY ")){
                        group+= " F.nombre_dia";
                    }else{
                        group+= " ,F.nombre_dia";
                    }
                }else if(dia){//Promedio por días en un año;
                    select+=" ,F.nombre_dia";
                    if(!where.equals(" WHERE ")){
                        where+=" AND F.anio='"+añoInicial+"'";
                    }else
                         where+=" F.anio='"+añoInicial+"'";

                    if(group.equals(" GROUP BY ")){
                        group+= " F.nombre_dia";
                    }else{
                        group+= " ,F.nombre_dia";
                    }
                }else if (mes==0){//Promedio de meses en un año.
                    select+=" ,F.nombre_mes";
                    if(!where.equals(" WHERE ")){
                        where+=" AND F.anio='"+añoInicial+"'";
                    }else
                         where+=" F.anio='"+añoInicial+"'";

                    if(group.equals(" GROUP BY ")){
                        group+= " F.nombre_mes";
                    }else{
                        group+= " ,F.nombre_mes";
                    }
                }
                    
                
            }
            if(epoca){    
                if(añoInicial!=0 && añoFinal!=0 && !festivo.equals("") ){
                    select+= " ,F.nombre_festivo";
                    if(where.equals(" WHERE "))
                        where+= " F.nombre_festivo='"+festivo+"'";
                    else
                        where+= " AND F.nombre_festivo='"+festivo+"'";

                    if(group.equals(" GROUP BY ")){
                        group+= " F.anio";
                    }else{
                        group+= " ,F.anio";
                    }
                }
            }
        }
 
        
        consulta+=select+from+where+group+orderDes;
        System.out.println(consulta);
        return consulta;
    }
    
    public String ConstruirConsultaPagosUsuario(boolean fecha,boolean epoca, int añoInicial, int añoFinal,
            String festivo, boolean dia, int mes, String user){
        String consulta="";
        String select=" SELECT AVG(valor_pagado) cantidad, af.nombre";
        String from=" FROM pagos p JOIN dimension_afiliado af";
        String where=" WHERE p.id_usuario=af.id_afiliado AND af.nombre='"+user+"'";
        String group=" GROUP BY ";
        String orderAsc= " ORDER BY cantidad ASC ";
        String orderDes=" ORDER BY cantidad DESC ";
        
        if(fecha){
            from+=" JOIN fecha F ";
            if(where.equals(" WHERE ")){
                where+=" p.id_fecha=F.k_fecha "; 
            }else
                where+=" AND p.id_fecha=F.k_fecha ";
            
            if(añoInicial!=0 && añoFinal!=0){
                select+=" ,F.anio";
                          
                if(!where.equals(" WHERE ")){
                    where+= " AND F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                }else
                    where+= "F.anio>='"+añoInicial+"' AND F.anio <= '"+añoFinal+"'";
                if(group.equals(" GROUP BY ")){
                    group+= " F.anio";
                }else{
                    group+= " ,F.anio";
                }
            }
            if(añoInicial!=0 && añoFinal==0){
                if(dia && mes!=0){ //Días en un mes especifico de un año
                    select+=" ,F.nombre_dia, F.nombre_mes";
                    if(!where.equals(" WHERE ")){
                        where+=" AND F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";
                    }else
                         where+=" F.anio='"+añoInicial+"' AND F.mes='"+mes+"'";

                    if(group.equals(" GROUP BY ")){
                        group+= " F.nombre_dia";
                    }else{
                        group+= " ,F.nombre_dia";
                    }
                }else if(dia){//Promedio por días en un año;
                    select+=" ,F.nombre_dia";
                    if(!where.equals(" WHERE ")){
                        where+=" AND F.anio='"+añoInicial+"'";
                    }else
                         where+=" F.anio='"+añoInicial+"'";

                    if(group.equals(" GROUP BY ")){
                        group+= " F.nombre_dia";
                    }else{
                        group+= " ,F.nombre_dia";
                    }
                }else if (mes==0){//Promedio de meses en un año.
                    select+=" ,F.nombre_mes";
                    if(!where.equals(" WHERE ")){
                        where+=" AND F.anio='"+añoInicial+"'";
                    }else
                         where+=" F.anio='"+añoInicial+"'";

                    if(group.equals(" GROUP BY ")){
                        group+= " F.nombre_mes";
                    }else{
                        group+= " ,F.nombre_mes";
                    }
                }
                    
                
            }
            if(epoca){    
                if(añoInicial!=0 && añoFinal!=0 && !festivo.equals("") ){
                    select+= " ,F.nombre_festivo";
                    if(where.equals(" WHERE "))
                        where+= " F.nombre_festivo='"+festivo+"'";
                    else
                        where+= " AND F.nombre_festivo='"+festivo+"'";

                    if(group.equals(" GROUP BY ")){
                        group+= " F.anio";
                    }else{
                        group+= " ,F.anio";
                    }
                }
            }
        }
 
        
        consulta+=select+from+where+group+orderDes;
        System.out.println(consulta);
        return consulta;
    }
    
    public ArrayList<String> getUsuarios(){
        ArrayList<String> users = daoDimensiones.getNombreUsuarios();
        return users;
    }
    public ArrayList<String> getFestivos(){
        ArrayList<String> festivos = daoDimensiones.getFestivos();
        return festivos;
    }
    public ArrayList<String> getCiudades(){
        ArrayList<String> ciudades= daoDimensiones.getCiudadesDimension();
        return ciudades;
    }
    public ArrayList<String> getDepartamentos(){
        ArrayList<String> departamentos = daoDimensiones.getDepartamentosDimension();
        return departamentos;
    }
    
    
    
    public static void main(String [] args){
        ManejadorConsultas man = new ManejadorConsultas();
       man.graficar(man.ConstruirConsultaCentrosHospitalarios(true, false, false, true, true, "", "Choco", "atencion_hospitalizacion","", "", "", 0, 2006, 0), "Barras");
       // man.graficar(man.ConstruirConsultaCentrosHospitalarios(true, true, true, false, false, "Cali", "", "atencion_citas", "F", "", "", 0, 2006, 2008, 0),"Barras");
       // man.graficar(man.ConstruirConsultaFormulacion("M", "Soltero", "", false,2,true,2006,2008,1,true), "Barras"); //MEDICAMENTOS EN UN MES EN UN AÑO Espeficifico SIN DEMOGRAFIA
//        man.ConstruirConsultaFormulacion("M", "Soltero", "Universitaria", true,0,true,2006,2007,1,false);//MEDICAMENTOS EN UN MES EN UN AÑO Espeficifico CON DEMOGRAFIA
         // man.ConstruirConsultaRetiros("M", "Soltero", "", 1, true, true, 2006, 2008,"PAGO NO OPORTUNO");
    }
}
